2
תגובות

עזרה עם בקשת ajax

פתח shlomo120 ,
אהלן.
אחרי הרבה זמן שלא נגעתי בJQ , רציתי לבנות משהו קטן.
כמו קודנית כזאת שכל לחיצה שולחת לעמוד PHP את מה שנלחץ (ספרה) , ומוסיפה אותה למחרוזת בסיישן .
ואם נלחץ # אז הסיישן נבדק האם הוא הקוד הנכון , ומציג הודעה בהתאם , והסיישן מתנקה.
ומשום מה הקוד הבא לא עובד לי (הוא לא שולח שום דבר לדף PHP - הבקשה נשלחת אבל ללא data. )

//jq
        function AJAX(pram)
        {
            $.get("ajax.php?num="+pram, function(result){
            $("div .result").html(result);
        });
        }

//html
    <form class="form-signin" avtion="/" onsubmit="AJAX(this); return false;">

אני חושב שהבעייה היא בform שאני שולח this .
מה אני אמור לשלוח במקום ?

תודה רבה.

2 תשובות

avatar ענה intval ב 26 לפברואר 2013 #

onsubmit="AJAX(this);

ה this כאן מייצג מופע של טופס ולא מספר כמו שאתה חושב.

function AJAX(pram)
        {

console.log(pram); // HtmlFormElement

            $.get("ajax.php?num="+pram, function(result){
            $("div .result").html(result);
        });
        }



במקום זה אתה צריך להעביר מספר כלשהו, ולא את הטופס (או את שדה הקלט) עצמו.

avatar ענה mmh19 ב 27 לפברואר 2013 #

אם כבר JQUERY אז לפחות תנצל את זה להצמדת אירועים בקלות:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
$(function(){
  var selected;
  $("form.form-signin input[type='submit']").click(function(){
    selected = $(this).val();
  });
  $("form.form-signin").submit(function(){
    $.get($(this).attr("action")+"?num="+selected,function(data){
      $("div#result").html(data);
    });
    return false;
  });
});
</script>

<form class="form-signin" action="ajax.php">
  <input type="submit" name="button" value="1" />
  <input type="submit" name="button" value="2" />
  <input type="submit" name="button" value="3" />
  <br/>
  <input type="submit" name="button" value="4" />
  <input type="submit" name="button" value="5" />
  <input type="submit" name="button" value="6" />
  <br/>
  <input type="submit" name="button" value="7" />
  <input type="submit" name="button" value="8" />
  <input type="submit" name="button" value="9" />
  <br/>
  <input type="submit" name="button" value="*" />
  <input type="submit" name="button" value="0" />
  <input type="submit" name="button" value="#" />
</form>

<div id="result"></div>